home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- # sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh
-
- # Zcmp and zdiff are used to invoke the cmp or the diff pro-
- # gram on compressed files. All options specified are passed
- # directly to cmp or diff. If only 1 file is specified, then
- # the files compared are file1 and an uncompressed file1.gz.
- # If two files are specified, then they are uncompressed (if
- # necessary) and fed to cmp or diff. The exit status from cmp
- # or diff is preserved.
-
- PATH="/usr/bin:$PATH"; export PATH
- case "$0" in
- *cmp) prog=cmp ; comp=${CMP-cmp} ;;
- *) prog=diff; comp=${DIFF-diff} ;;
- esac
-
- version="z$prog (gzip) 1.3.9
- Copyright (C) 2006 Free Software Foundation, Inc.
- This is free software. You may redistribute copies of it under the terms of
- the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
- There is NO WARRANTY, to the extent permitted by law.
-
- Written by Jean-loup Gailly."
-
- usage="Usage: z$prog [OPTION]... FILE1 [FILE2]
- Compare FILE1 to FILE2, using their uncompressed contents if they are
- compressed. If FILE2 is omitted, compare FILE1 to the uncompressed
- contents of FILE1.gz. Do comparisons like '$prog' does.
-
- OPTIONs are the same as for '$prog'.
-
- Report bugs to <bug-gzip@gnu.org>."
-
- OPTIONS=
- FILES=
- while :; do
- case $1 in
- --h*) echo "$usage" || exit 2; exit;;
- --v*) echo "$version" || exit 2; exit;;
- --) shift; break;;
- -*) OPTIONS="$OPTIONS $ARG"; shift;;
- esac
- done
- for file; do
- test -f "$file" || {
- echo "$prog: $file not found or not a regular file"
- exit 2
- }
- done
- if test $# -eq 1; then
- FILE=`echo "$1" | sed 's/[-.][zZtga]*$//'`
- gzip -cd -- "$1" | $comp $OPTIONS - "$FILE"
-
- elif test $# -eq 2; then
- case "$1" in
- *[-.]gz* | *[-.][zZ] | *.t[ga]z)
- case "$2" in
- *[-.]gz* | *[-.][zZ] | *.t[ga]z)
- F=`echo "$2" | sed 's|.*/||;s|[-.][zZtga]*||'`
- set -C
- trap 'rm -f /tmp/"$F".$$; exit 2' HUP INT PIPE TERM 0
- gzip -cdfq -- "$2" > /tmp/"$F".$$ || exit
- gzip -cdfq -- "$1" | $comp $OPTIONS - /tmp/"$F".$$
- STAT="$?"
- /bin/rm -f /tmp/"$F".$$ || STAT=2
- trap - HUP INT PIPE TERM 0
- exit $STAT;;
-
- *) gzip -cdfq -- "$1" | $comp $OPTIONS - "$2";;
- esac;;
- *) case "$2" in
- *[-.]gz* | *[-.][zZ] | *.t[ga]z)
- gzip -cdfq -- "$2" | $comp $OPTIONS "$1" -;;
- *) $comp $OPTIONS "$1" "$2";;
- esac;;
- esac
- else
- echo "$usage"
- exit 2
- fi
-